With the development of network technologies and increase of network applications, networks become more and more complex and users raise higher requirements for network device management. Managed devices are scattered rather than centralized on a network due to network complexity. To manage these scattered managed devices, a network device management system must be used.
TR-069 is a standard formulated by the digital subscriber line (DSL) Forum. TR-069 describes the basic information of a customer premises equipment (CPE) in a tree structure. FIG. 1 shows a structure of a home gateway (HGW) data model 1.0 defined in TR-069. The following describes the data model shown in FIG. 1 in detail.
As shown in FIG. 1, the InterGatewayDevice is a root node, which includes many intermediate nodes and parameters, for example, DeviceInfo and Layer2Forwarding (only the two intermediate nodes are illustrated in FIG. 1). The two intermediate nodes also include many intermediate nodes or parameters. For example, the DeviceInfo node includes a Manufacturer parameter; the Layer2Forwarding node includes two instances of Forwarding besides DefaultConnectionService and ForwardNumberOfEntries. The instance numbers allocated by the CPE to the two instances of Forwarding are 1 and 2. In TR-069, the Forwarding node in Layer2Forwarding is an object, and Forwarding.1 and Forwarding.2 are two instances of the Forwarding object, which are differentiated by the instance numbers when being accessed.
TR-069 uniquely identifies a parameter or an intermediate node by using a path corresponding to the parameter or node, where the path is from the root to the parameter or node. For example, the path for accessing a common parameter is the concatenation of all successive nodes (including the parameter itself) separated by a dot, starting from the root and ending at the level where the parameter is located. Taking the Manufacturer parameter in DeviceInfo as an example, the path for accessing the parameter is:
InternetGatewayDevice.DeviceInfo.Mananufacturer.
The Remote Procedure Call (RPC) methods AddObject and DeleteObject provided by TR-069 may be used to add or delete a dynamic instance.
For example, if an instance is to be added for the InternetGatewayDevice.Layer2Forwarding.Forwarding object in the CPE data model shown in FIG. 1, the ObjectName parameter may be set to “InternetGatewayDevice.Layer2Forwarding.Forwarding.” when the AddObject RPC method is invoked, that is, an instance of the object is created, and allocation of the instance number is determined by the CPE.
If an instance of an object is to be deleted, an instance number needs to be added after the object name. For example, if the InternetGatewayDevice.Layer2Forwarding.Forwarding.2 instance is to be deleted, the ObjectName parameter may be set to “InternetGatewayDevice.Layer2Forwarding.Forwarding.2.” when the DeleteObject RPC method is invoked, that is, instance 2 of the object is deleted.
The foregoing method for managing object instances in the conventional art has the following disadvantages:
When an auto-configuration server (ACS) needs to invoke the AddObject RPC method of two different CPEs respectively to create instances of the InternetGatewayDevice.Layer2Forwarding.Forwarding object, two CPEs may return different instance numbers for the same object instance because the instance numbers are allocated by two different CPEs. For example, one CPE may return an instance number of 1, while the other CPE may return an instance number of 2. Instances created by different CPEs are as follows:
InternetGatewayDevice.Layer2Forwarding.Forwarding.1
InternetGatewayDevice.Layer2Forwarding.Forwarding.2
Therefore, when it is necessary to configure a same object instance of multiple CPEs through TR-069, TR-069 is required to access each CPE to configure each CPE in turn because the label of the same object instance may be inconsistent in different CPEs, that is, each CPE may return a different instance label (instance number); and TR-069 cannot use mechanisms such as multicast or broadcast and use a same command to perform batch configuration or access on the same object instance of the CPEs.